package ls.vuecp.action;

import javax.swing.KeyStroke;

public class ImageSizeAction extends LWCAction 
{
	final int size;
    ImageSizeAction(String name) {
        super(name);
        this.size = -1;
    }
    ImageSizeAction(String name, KeyStroke shortcut) {
        super(name, shortcut);
        this.size = -1;
    }
    ImageSizeAction(int size) {
        super(size + "x" + size);
        this.size = size;
    }

//    @Override
//    boolean enabledFor(LWSelection s) {
//        return s.containsType(LWImage.class)
//            || s.containsType(LWNode.class); // todo: really, only image nodes, but we have no key for that
//    }
//    
//    protected void imageAct(LWImage im, Object actionKey) {
//        final int newDim;
//
//        //Log.debug(this + " on " + im);
//
//        if (actionKey == IMAGE_SHOW) {
//            if (im.isHidden(HideCause.IMAGE_ICON_OFF)) {
//                im.clearHidden(HideCause.IMAGE_ICON_OFF);
//                im.getParent().layout("imageIconShow");
//            }
//            return;
//        }
//        
//        if (actionKey == IMAGE_HIDE)
//            newDim = Integer.MIN_VALUE;
//        else if (actionKey == IMAGE_BIGGER)
//            newDim = getBiggerSize(im); // will return same size if is currently OFF
//        else if (actionKey == IMAGE_SMALLER)
//            newDim = getSmallerSize(im);
//        else // actionKey is an Integer representing the new desired size
//            newDim = (Integer) actionKey;
//        
//        if (DEBUG.IMAGE) Log.debug("NEWDIM " + newDim);
//        
//        if (newDim == Integer.MIN_VALUE) {
//            // hide
//            if (im.isNodeIcon() || im.getParent() instanceof LWNode) {
//                im.setHidden(HideCause.IMAGE_ICON_OFF);
//                im.getParent().layout("imageIconHide");
//            }
//        } else if (newDim == Integer.MAX_VALUE) {
//            // make natural size
//            im.setToNaturalSize();
//            if (im.isNodeIcon()) {
//                im.clearHidden(HideCause.IMAGE_ICON_OFF);
//                im.getParent().layout("imageIconShow");
//            }
//        } else {
//            // adjust size
//            im.setMaxDimension(newDim);
//            if (im.isNodeIcon()) {
//                im.clearHidden(HideCause.IMAGE_ICON_OFF);
//                im.getParent().layout("imageIconShow");
//            }
//        }
//    }
//    
//    @Override
//    public void act(LWImage im) {
//        imageAct(im, size);
//    }
//    
//    @Override
//    public void act(LWNode n) {
//        final LWImage image = n.getImage();
//        if (image != null)
//            act(image);
//    }   
    
}
